Fork me on GitHub

66. Plus One

66. Plus One

题目

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

The digits are stored such that the most significant digit is at the head of the list.

解析

class Solution_66 {
public:
	// 用一个数组表示一个整数的每一位,给这个整数+1,只有当前位为9时,才会有进位
	vector<int> plusOne(vector<int> &digits) {

		for (int i = digits.size() - 1; i >= 0; i--)
		{
			if (digits[i] == 9)
			{
				digits[i] = 0;
			}
			else
			{
				digits[i]++; //当前
				return digits;
			}
		}
		digits[0] = 1;
		digits.push_back(0); //多一位就行

		return digits;
	}
};


题目来源

posted @ 2018-03-23 19:47  ranjiewen  阅读(195)  评论(0编辑  收藏  举报